# 作者: 陈其志 
# 2025年02月22日17时56分55秒 
# 2716847110@qq.com
class CircularQueue:

    def __init__(self, max_size):
        self.max_size = max_size
        self.queue = [0] * max_size  # 格式化足够的零来实现最大队列
        self.front = 0
        self.rear = 0

    def en_queue(self, value):
        if (self.rear + 1) % self.max_size == self.front:
            print('队列已经满')
            return
        else:
            self.queue[self.rear] = value  # 赋值元素
            self.rear = (self.rear + 1) % self.max_size  # 往后面移动

    def de_queue(self):
        if self.front == self.rear:
            print('队列为空')
            return
        else:
            value = self.queue[self.front]
            self.front = (self.front + 1) % self.max_size
            return value


if __name__ == '__main__':
    c = CircularQueue(5)
    c.en_queue(1)
    c.en_queue(2)
    c.en_queue(3)
    c.en_queue(4)
    c.en_queue(5)
    print(c.queue)
    print(c.de_queue())
    c.en_queue(6)
    print(c.queue)
